CCC: An Aspect-Oriented Intermediate Language on .Net Platform
نویسندگان
چکیده
The AOSD tools and methodologies have developed in a rapid speed in Java area. However, no matter how homologous .Net and Java are, AOP tools on .Net platform are still in experimental stage. The complex infrastructure and multi-language support make it hard to establish aspect-oriented programming on .Net. Microsoft provides Microsoft Intermediate Language(MSIL) to facilitate language implementation on .Net platform. But MSIL doesn’t support aspect-oriented languages. To facilitate aspect-oriented language implementation on .Net platform, it is best to provide an aspect-oriented intermediate language. This paper presents CCC, an aspect-oriented intermediate language on .Net platform. CCC stands for Common language Cross Cutter. Any aspect-oriented .Net language could first be transformed to CCC and then woven by CCC compiler. Since CCC supports high-level aspect-oriented language constructs directly, such as aspect, there is a little work to do for language implementation and the developers could concentrate on language design.
منابع مشابه
The Pi-ADL.NET project: An Inclusive Approach to ADL Compiler Design
This paper describes results and observations pertaining to the development of a compiler utility for an Architecture Description Language π-ADL, for the .NET platform. Architecture Description Languages or ADLs, are special purpose high level languages especially construed to define software architectures. π-ADL, a recent addition to this class of languages, is formally based on the π-Calculus...
متن کاملAn Efficient and Flexible Implementation of Aspect-Oriented Languages
Compilers for modern object-oriented programming languages generate code in a platform independent intermediate language [LY99, CLI06] preserving the concepts of the source language; for example, classes, fields, methods, and virtual or static dispatch can be directly identified within the intermediate code. To execute this intermediate code, state-of-the-art implementations of virtual machines...
متن کاملUsing Aspects for Platform-Independent to Platform-Dependent Model Transformations
This paper presents an aspect-based approach for realizing a transformation from platform-independent to platform-dependent models in the context of a model transformation chain that generates queueing-based performance models from UML design models of serviceoriented applications. The purpose of generating such performance models is to evaluate the performance of the system under development i...
متن کاملStatic Verification for Code Contracts
The Code Contracts project [3] at Microsoft Research enables programmers on the .NET platform to author specifications in existing languages such as C# and VisualBasic. To take advantage of these specifications, we provide tools for documentation generation, runtime contract checking, and static contract verification. This talk details the overall approach of the static contract checker and exa...
متن کاملNu: Towards an Aspect-Oriented Invocation Mechanism
The contribution of this work is the design, implementation and evaluation of a new aspect-oriented invocation mechanism for preserving design modularity in object code. We call our mechanism Bind. We make three basic claims. First, it is feasible to realize a programming model that supports Bind to preserve design modularity in object code. Second, the new invocation mechanism further improves...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004